热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

中小学|音符_IPython8.0大版本更新,支持代码自动补全

篇首语:本文由编程笔记#小编为大家整理,主要介绍了IPython8.0大版本更新,支持代码自动补全相关的知识,希望对你有一定的参考价值。△点击上方“P

篇首语:本文由编程笔记#小编为大家整理,主要介绍了IPython 8.0 大版本更新,支持代码自动补全相关的知识,希望对你有一定的参考价值。


△点击上方“Python猫”关注 ,回复“1”领取电子书




来源:量子位 | 公众号 QbitAI



酝酿了3年多,IPython 8.0终于来了。


现在,用上最新版本,你不仅能在命令行里使用Black重新格式化代码,还能获得更好的自动代码补全和Debug体验。



更多详情,咱们接着往下看。


优化报错


在8.0版本之前,如果代码出错,IPython的错误回溯会显示一个哈希值,用于编译Python AST,就像这样:



而现在,错误回溯已经正确格式化,能够显示出bug所在的具体单元格编号。



另外,IPython 8.0还集成了stack_data,这个包提供了更智能的追踪信息,能够突出显示发生错误的AST节点,帮助快速定位bug。


比如对于这样一段代码:



调用bar(),就能获得一个IndexError,IPython 8.0会告诉你索引错误具体发生在哪里。



注:在终端和notebook中,用^标记的位置将显示为高亮。


还有一个对生产力有较大影响的改进,就是在错误回溯的文件名后面添加冒号和行号。



许多终端和编辑器都允许在使用这种语法时,直接跳转到相关文件/行。


自动代码补全建议


除了更好的Debug体验,如果你很喜欢Ptpython里的代码自动补全功能,那么现在在IPython 8.0里你也能用上了。



通过ctrl-f,或ctrl-e,或按下右箭头,就可以接受这些建议。


alt-f快捷键则可以只接受建议的第一个单词。


目前,自动建议只能在emacs或vi模式中显示。


使用“?”和”??”查看对象信息


在IPDB中,现在可以用“?”和“??”来显示对象信息,在使用IPython提示符时也一样:



在CLI中用black自动格式化


如果black被安装在与IPython相同的环境中,那么现在,终端IPython将在默认情况下尽可能重新格式化命令行(CLI)中的代码。


当然,你也可以用 —TerminalInteractiveShell.autoformatter=None 来禁用该选项。


历史范围全局功能


此前,在使用%history时,用户可以指定session和行:



或是使用全局模式:



但在8.0以前,这两种模式不能兼得。如果用户同时指定了2种模式,IPython将应用全局模式(对所有历史记录进行全局化)并忽略指定范围。


现在,此功能得到加强,如果用户同时指定了范围和glob模式,则glob模式将应用于指定的历史范围。


如果你还想了解更多信息,官网链接在此奉上:


https://ipython.readthedocs.io/en/stable/whatsnew/version8.html#ipython-8-0


对了,还要提醒一点,如果想用IPython 8.0,你得先把Python升级到3.8以上版本


参考链接:
[1]https://blog.jupyter.org/release-of-ipython-8-0-6e034ff122ef
[2]https://www.oschina.net/news/178236/ipython-8-0-released
[3]https://news.ycombinator.com/item?id=29906774



Python猫技术交流群开放啦!群里既有国内一二线大厂在职员工,也有国内外高校在读学生,既有十多年码龄的编程老鸟,也有中小学刚刚入门的新人,学习氛围良好!想入群的同学,请在公号内回复『交流群』,获取猫哥的微信(谢绝广告党,非诚勿扰!)~


还不过瘾?试试它们


Python 的元类设计起源自哪里?


Python 为什么不设计 do-while 循环结构?


详细比对 15 款 Python 编辑器,请择优选用!


Python 优秀开源项目 Rich 源码解析


开源框架 Zappa:上线 Python 应用仅需一条命令!


如何通过测试提升 Python 代码的健壮性


如果你觉得本文有帮助


请慷慨分享点赞,感谢啦!


推荐阅读
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Linux中tput命令怎么用
    这篇文章主要介绍Linux中tput命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux常用命令tput命令将通过ter ... [详细]
  • 在 openSUSE Tumbleweed 系统上搭建 51 单片机开发环境并进行编程实践。首先,通过 `sudo zypper in emacs` 命令安装文本编辑器 Emacs。接着,使用 `sudo zypper in sdcc` 安装 SDCC 编译器。最后,利用 `wget` 下载 sdcflash Python 脚本,以便于单片机的烧录和调试。此外,还介绍了如何配置开发环境,确保各组件协同工作,提高开发效率。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • Google最新推出的嵌入AI技术的便携式相机Clips现已上架,旨在通过人工智能技术自动捕捉用户生活中值得纪念的时刻,帮助人们减少照片数量过多的问题。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • https:www.hollischuang.comarchives74 对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE ... [详细]
  • Lunix历史及如何学习
    1.Lunix是什么1.1Lunix是操作系统还是应用程序Lunix是一套操作系统,它提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构, ... [详细]
  • 3.5.2Calc的公式语法:使用Calc计算一个公式可用是任何能够被Emacs的calc包所识别的代数表达式.注意,在Calc中,的操作符优先级要比*低,因此ab*c会被解释为a ... [详细]
author-avatar
开卷_汤娅造_673
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有